﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GMUtilitiesDotNet.ViewModels;
using ThouShaltNotBrickLevelEditor.Code.Managers;
using System.ComponentModel;
using GMUtilitiesDotNet.Helpers;

namespace ThouShaltNotBrickLevelEditor.ViewModels
{
    public sealed class ToolbarViewModel : ViewModelBase
    {
        #region Constants
        #endregion

        #region Properties
        #region BrickStateSelectorViewModel
        private BrickStateSelectorViewModel mBrickStateSelectorViewModel;
        public static readonly PropertyChangedEventArgs BrickStateSelectorViewModelEventArgs = ObservableHelper.CreateArgs<ToolbarViewModel>(x => x.BrickStateSelectorViewModel);

        /// <summary>
        /// BrickStateSelectorViewModel property.
        /// </summary>
        public BrickStateSelectorViewModel BrickStateSelectorViewModel
        {
            get { return mBrickStateSelectorViewModel; }
            private set
            {
                if (mBrickStateSelectorViewModel != value)
                {
                    Dispose(mBrickStateSelectorViewModel);
                    mBrickStateSelectorViewModel = value;
                    RaisePropertyChangedEvent(BrickStateSelectorViewModelEventArgs);
                }
            }
        }
        #endregion
        #endregion

        #region Events
        #endregion

        #region Commands
        #endregion

        #region Constructors
        public ToolbarViewModel(LevelEditorManager pLevelEditorManager)
        {
            BrickStateSelectorViewModel = new BrickStateSelectorViewModel(pLevelEditorManager);
        }
        #endregion

        #region Overriden Methods
        #endregion

        #region Methods
        #endregion

        #region Event Handlers
        #endregion

        #region Inner Classes
        #endregion
    }
}